<?php
/**
 * 我的资料操作模型
 */
class MyDataModel extends Model {
	public $table = 'users';

	public $validate = array( array('nickname', 'nonull', '昵称不能为空', 2, 3), array('truename', 'nonull', '真实姓名不能为空', 2, 3), array('sex', 'nonull', '性别不能为空', 2, 3), array('birthday', 'nonull', '生日不能为空', 2, 3), array('addarea', 'nonull', '所在地区不能为空', 2, 3), array('alladdress', 'nonull', '详细地址不能为空', 2, 3), array('zipcode', 'nonull', '邮编不能为空', 2, 3), array('telphone', 'nonull', '联系电话不能为空', 2, 3));

	public $auto = array( array('birthday', 'strtotime', 'function', 2, 3));

	/**
	 * 传入相应的UID返回这个UID相应的资料字段
	 */
	public function getMyData($uid) {
		//查询相应的UID返回相应用户的信息
		$userInfo = $this -> field('nickname,telphone,truename,sex,birthday,addarea,alladdress,zipcode,face') -> where("uid={$uid}") -> find();
		return $userInfo;
	}

	/**
	 * 更新用户数据
	 */
	public function updateUserInfo() {
		if (!$this -> create())
			return false;
		if ($this -> save()) {
			return true;
		} else {
			$this -> error = '更新失败';
			return false;
		}
	}
	
	/**
	 * 更新用户密码
	 */
	public function changePwd() {
		//验证用户和密码
		if (!$this -> findUserInfo(session('username'), md5(Q('post.oldpassword')))) {
			$this -> error = '旧密码不正确';
			return false;
		}
		if (Q('post.newpassword') != Q('post.renewpassword')) {
			$this -> error = '两次密码不一致';
			return false;
		}
		if (strtoupper(Q('post.code')) != session('code')) {
			$this -> error = '验证码输入不正确';
			return false;
		}
		//将新密码写入数据库
		Q('post.password', md5(Q('post.newpassword')));
		Q('post.uid', session('uid'));
		if ($this -> save()) {
			return true;
		} else {
			$this -> error = '修改失败';
			return false;
		}
	}
	
	
	
	/**
	 * 返回查询的用户信息
	 * 查询条件 是一个帐号和一个密码
	 * 如果两个匹配成功返回这条数据信息
	 */
	public function findUserInfo($username, $pwd) {
		return $this -> where("username='{$username}' && password='{$pwd}'") -> find();
	}

	/**
	 * 更新数据个人资料
	 */
	public function updateMyData() {
		//		 	var_dump(
		if (!$this -> create())
			return false;

	}

}
